import moment from 'moment';
export const filterName = 'moment';
export const filter = (value, ...args) => {
  const date = moment(value);
  if (!date.isValid()) return value;

  const format = args[0];
  // 如果第二个参数是数组那么表示执行的moment的方法
  // 方法名为最后一个参数
  if (
    Reflect.apply(Object.prototype.toString, format, []) === '[object Array]'
  ) {
    const methodName = args.pop();
    if (methodName) {
      return Reflect.apply(date[methodName], date, args);
    }
  } else {
    return moment(value).format(format);
  }
  return value;
};
